package objetosGraficos;

import javax.swing.ImageIcon;

/**
 * Clase abstracta para representar la nave del jugador.
 * @author Arró Gonzalo - Bancalá Christian
 *
 */

public abstract class NaveJugador extends Nave {
	
	private int cantBombas = 0;
	private int aumentos = 0;
	private int bombasQuitadas;

	// Constructor
	public NaveJugador(int factorMovimiento, ImageIcon image, int ancho, int alto, String nombre, int danio){		
		super(factorMovimiento,image,ancho,alto,nombre, 100,danio);
		this.setBounds(275-(ancho/2),555-alto,image.getIconWidth(),image.getIconHeight());
	}

	public void reducirSalud(int s){
		super.reducirSalud(s);
		frame.reducirSalud(s);
		
	}
	
	public void aumentarSalud(int s){
		super.aumentarSalud(s);
		frame.aumentarSalud(s);
	}
	
	public void setSalud(int s){
		super.setSalud(s);
		frame.setSalud(s);
	}
	
	public void aumentarBomba(){
		
		if (cantBombas < 3){
			cantBombas++;
			frame.getPanelBombas().agregarBomba();
		}
			
	}
	
	public void usarBomba(){
		if(cantBombas > 0){
			cantBombas--;
			frame.getPanelBombas().retirarBomba();
		}		
	}
	
	public int getBombas(){
		return cantBombas;
	}
	
	public void quitarBombas(){
		bombasQuitadas = cantBombas;
		cantBombas = 0;
	}
	
	public void devolverBomba(){
		cantBombas = bombasQuitadas;
	}
	
	public void aumentarDanioBala (int danioA){
		if (aumentos < 2){
			super.aumentarDanioBala(danioA);
			frame.aumentarPD();
			aumentos++;
		}
		
	}
}
